home *** CD-ROM | disk | FTP | other *** search
- #ifndef STRING_STORMAMIGA_H
- #define STRING_STORMAMIGA_H
-
- /*
- ** $VER: string_stormamiga.h 1.2 (18.09.98)
- ** Includes Release 44.10
- **
- ** Copyright © 1996/98 by CyberdyneSystems
- **
- ** written by Matthias Henze
- ** All Rights Reserved
- */
-
- #ifndef STORMAMIGA_H
- #include <stormamiga.h>
- #endif
- #ifndef _INCLUDE_STRING_H
- #include <string.h>
- #endif
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- /*----- ANSI C-functions -----*/
-
- int strcoll (cchar *, cchar *);
- size_t strxfrm (char *, cchar *, size_t);
-
- /*----- UNIX-functions -----*/
-
- int bcmp (cvoid *, cvoid *, size_t);
- void bcopy (cvoid *, void *, size_t);
- void bzero (void *, size_t);
- int ffs (int);
- int strnicmp (cchar *, cchar *, size_t);
- int strcasecmp (cchar *, cchar *);
- int strncasecmp (cchar *, cchar *, size_t);
- char *index (cchar *, int);
- char *rindex (cchar *, int);
- char *strdup (cchar *);
- char *strsep (char **, cchar *);
- char *strlower (char *);
- char *strupper (char *);
- char *stpchr (cchar *, int);
- char *stpcpy (char *, cchar *);
- void *memccpy (void *, cvoid *, int, size_t);
- void swab (cvoid *, void *, size_t);
-
- /*----- DICE-functions -----*/
-
- void strins (char *, cchar *);
- int strbpl (char **, int, cchar *);
-
- /*----- stormamiga-functions -----*/
-
- #ifdef STORMAMIGA_DEUTSCH
- #define stricmp stricmp_d
- #define strnicmp strnicmp_d
- #define strcasecmp strcasecmp_d
- #define strncasecmp strncasecmp_d
- #define strlwr strlwr_d
- #define strupr strupr_d
- #define strlower strlower_d
- #define strupper strupper_d
- #endif
-
- int stricmp_d (cchar *, cchar *);
- int strnicmp_d (cchar *, cchar *, size_t);
- int strcasecmp_d (cchar *, cchar *);
- int strncasecmp_d (cchar *, cchar *, size_t);
- char *strlwr_d (char *);
- char *strlower_d (char *);
- char *strupr_d (char *);
- char *strupper_d (char *);
- char *strncpyn (char *, cchar *, size_t);
-
- #ifdef __cplusplus
- }
- #endif
-
- #ifdef STORMAMIGA_INLINE
-
- /*----- ANSI C-functions -----*/
-
- __inline void *memcpy (void *d, cvoid *s, size_t n)
- {
- void *r = d;
- while (n)
- {
- *(((uchar*) d)++) = *(((uchar*) s)++);
- n--;
- }
- return r;
- }
-
- __inline void *memmove (void *d, cvoid *s, size_t n)
- {
- void *r = d;
- if (n)
- {
- if ((uchar *) d < (uchar *) s)
- {
- do
- {
- *(((uchar *) d)++) = *(((uchar *) s)++);
- }
- while (--n);
- };
- else
- {
- (uchar *) d += n;
- (uchar *) s += n;
- do
- {
- *(--((uchar *) d)) = *(--((uchar *) s));
- }
- while (--n);
- };
- }
- return r;
- }
-
- __inline void *memset (void *d, int c, size_t n)
- {
- void *r = d;
- while (n)
- {
- *(((uchar *) d)++) = c;
- n--;
- }
- return r;
- }
-
- __inline void *memchr (cvoid *s, int c, size_t n)
- {
- while (n)
- {
- if (*(((uchar *) s)++) == (uchar) c)
- return (uchar *) s - 1;
- n--;
- };
- return NULL;
- }
-
- __inline int memcmp (cvoid *m1, cvoid *m2, size_t n)
- {
- int r = 0;
- char a, b;
- if (n)
- {
- while ((a = *(((uchar *) m1)++)) == (b = *(((uchar *) m2)++)) && --n)
- ;
- r = a - b;
- }
- return r;
- }
-
- /*----- UNIX-functions -----*/
-
- #define bcmp memcmp
-
- __inline void bzero (void *d, size_t n)
- {
- while (n)
- {
- *(((uchar *) d)++) = 0;
- n--;
- }
- }
- #endif /* STORMAMIGA_INLINE */
-
- #endif /* STRING_STORMAMIGA_H */
-